﻿Imports System.Data
Imports CondorTravel.BC
Imports CondorTravel.BE
Public Class NuevaSolicitudPaquete2
    Inherits PaginaBase

     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim bExito As Boolean = False
        Dim sMensaje As String = String.Empty

        If Not Page.IsPostBack Then

            lblTitulo.Text = "Nueva Solicitud de Paquete"

            txtInicio.Attributes.Add("readonly", "readonly")
            txtFin.Attributes.Add("readonly", "readonly")
            txtInicio.Text = Convert.ToDateTime(Date.Now).ToString("dd/MM/yyyy")
            txtFin.Text = Convert.ToDateTime(Date.Now).ToString("dd/MM/yyyy")

            cle1.StartDate = Date.Now
            cle2.StartDate = Date.Now

            If Session("TipoEventoSP") = 1 Then  ' Modifica 

                lblTitulo.Text = "Edición de Solicitud de Paquete"

                Dim objSolicitudPaqueteBC As SolicitudPaqueteBC
                objSolicitudPaqueteBC = New SolicitudPaqueteBC


                Dim objSolicitudPaqueteBE As SolicitudPaqueteBE
                objSolicitudPaqueteBE = New SolicitudPaqueteBE

                objSolicitudPaqueteBE.CodSolicitud = Session("CodigoSolicitudSP")
                objSolicitudPaqueteBC.ListarSolicitudPaquete_Update(objSolicitudPaqueteBE, bExito, sMensaje)

                Dim objSolPaquete As List(Of SolicitudPaqueteBE) = objSolicitudPaqueteBC.ListarSolicitudPaquete_Update(objSolicitudPaqueteBE, bExito, sMensaje)

                ' Mostrar el registro
                Dim strFechaini As String
                Dim strFechafin As String

                txtDesPaquete.Text = objSolPaquete.Item(0).NombrePaquete
                strFechaini = objSolPaquete.Item(0).FechaVigenciaInicio
                txtInicio.Text = Convert.ToDateTime(strFechaini).ToString("dd/MM/yyyy")

                strFechafin = objSolPaquete.Item(0).FechaVigenciaFin
                txtFin.Text = Convert.ToDateTime(strFechafin).ToString("dd/MM/yyyy")

                txtProveedor.Text = objSolPaquete.Item(0).Proveedor
                txtServicios.Text = objSolPaquete.Item(0).Servicios
                txtObservacion.Text = objSolPaquete.Item(0).Observaciones


            End If

        End If
    End Sub


    Protected Sub btnNuevo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnNuevo.Click

        Try
            Dim objSolicitudPaqueteBE As SolicitudPaqueteBE
            Dim objSolicitudPaqueteBC As SolicitudPaqueteBC
            Dim bExito As Boolean = False
            Dim sMensaje As String = String.Empty

            Dim strPaquete As String
            Dim strProveedor As String
            Dim strServicios As String
            Dim strObservaciones As String
            Dim strFechaVigIni As Date
            Dim strFechaVigFin As Date
            Dim strUsuario As String
 
            If txtDesPaquete.Text.Trim = "" Then
                Alerta("Faltan ingresar el nombre del paquete.", False, String.Empty)
                Exit Sub
            End If
            If txtInicio.Text.Length <= 0 Then
                Alerta("Debe seleccionar la fecha de inicio de vigencia.", False, String.Empty)
                Exit Sub
            End If
            If txtFin.Text.Length <= 0 Then
                Alerta("Debe seleccionar la fecha de fin de vigencia.", False, String.Empty)
                Exit Sub
            End If
            If txtServicios.Text.Trim = "" Then
                Alerta("Faltan ingresar la descripción del servicio.", False, String.Empty)
                Exit Sub
            End If
            If txtProveedor.Text = String.Empty Then
                Alerta("Faltan ingresar el proveedor(es).", False, String.Empty)
                Exit Sub
            End If 
            Dim fechasIni As String = txtInicio.Text.Trim
            Dim fechasFin As String = txtFin.Text.Trim

            If DateDiff(DateInterval.Day, CDate(txtFin.Text), CDate(txtInicio.Text)) > 0 Then
                Alerta("La fecha inicial no debe exceder al final.", False, String.Empty)
                Exit Sub
            End If


            If (Convert.ToDateTime(txtInicio.Text).ToString("dd\-MM\-yyyy") < Date.Now Or Convert.ToDateTime(txtFin.Text).ToString("dd\-MM\-yyyy") < Date.Now) And Session("TipoEvento") = 0 Then
                Alerta("La fecha debe ser mayor a la actual.", False, String.Empty)
                Exit Sub
            End If

            If Not IsDate(fechasIni) Then
                Alerta("La fecha de inicio de vigencia no tiene formato DD/MM/YYYY.", False, String.Empty)
                Exit Sub
            End If

            If Not IsDate(fechasFin) Then
                Alerta("La fecha de fin de vigencia no tiene formato DD/MM/YYYY.", False, String.Empty)
                Exit Sub
            End If
            strPaquete = txtDesPaquete.Text.Trim()
            strFechaVigIni = Convert.ToDateTime(fechasIni).ToString("dd/MM/yyyy")
            strFechaVigFin = Convert.ToDateTime(fechasFin).ToString("dd/MM/yyyy")
            strProveedor = txtProveedor.Text.Trim
            strServicios = txtServicios.Text.Trim
            'strObservaciones = txtObservacion.Text.Trim
            strObservaciones = " "
            strUsuario = CType(Session("usuario"), UsuariosBE).CodUsuario

            objSolicitudPaqueteBE = New SolicitudPaqueteBE

            objSolicitudPaqueteBE.NombrePaquete = Replace(Replace(strPaquete, "'", ""), ",", "/")
            objSolicitudPaqueteBE.FechaVigenciaInicio = Replace(strFechaVigIni, ",", "")
            objSolicitudPaqueteBE.FechaVigenciaFin = Replace(strFechaVigFin, ",", "")
            objSolicitudPaqueteBE.FechaInicio = Replace(strFechaVigIni, ",", "")
            objSolicitudPaqueteBE.FechaFin = Replace(strFechaVigFin, ",", "")

            objSolicitudPaqueteBE.Proveedor = Replace(Replace(strProveedor, "'", ""), ",", "/")
            objSolicitudPaqueteBE.Servicios = Replace(Replace(strServicios, "'", ""), ",", "/")
            objSolicitudPaqueteBE.Observaciones = Replace(Replace(strObservaciones, "'", ""), ",", "/")
            objSolicitudPaqueteBE.Estado = "P"

            objSolicitudPaqueteBC = New SolicitudPaqueteBC


            If Session("TipoEventoSP") = 0 Then ' Nuevo

                objSolicitudPaqueteBE.UsuarioCreador = strUsuario
                objSolicitudPaqueteBC.InsertarSolicitudPaquete(objSolicitudPaqueteBE, bExito, sMensaje)
                If bExito Then
                    Alerta("La solicitud fue registrada con exito.", True, "SolicitudPaquete2.aspx")
                Else
                    lblMensaje.Text = sMensaje
                End If

            Else ' Modifificar

                objSolicitudPaqueteBE.UsuarioActualiza = strUsuario
                objSolicitudPaqueteBE.CodSolicitud = Session("CodigoSolicitudSP")
                objSolicitudPaqueteBC.ModificaSolicitudPaquete(objSolicitudPaqueteBE, bExito, sMensaje)

                If bExito Then

                    Alerta("La solicitud fue modificada con exito.", True, "SolicitudPaquete2.aspx")
                Else
                    lblMensaje.Text = sMensaje
                End If


            End If



        Catch ex As Exception

        End Try


    End Sub

    Sub limpiaCampos()

        txtDesPaquete.Text = String.Empty
        txtInicio.Text = String.Empty
        txtFin.Text = String.Empty
        txtProveedor.Text = String.Empty
        txtServicios.Text = String.Empty
        txtObservacion.Text = String.Empty

        ' lblMensaje.Text = String.Empty

    End Sub

    Protected Sub btnConsultar0_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConsultar0.Click
        Response.Redirect("SolicitudPaquete2.aspx", True)
    End Sub

End Class